Overview | Package | Class | Use | Tree | Deprecated | Index | Help
| JavaTM 2 Platform Std. Ed. v1.4.0
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## javax.crypto
Class KeyGeneratorSpi

    java.lang.Object
      |
      +--javax.crypto.KeyGeneratorSpi

public abstract class KeyGeneratorSpi
extends Object

This class defines the Service Provider Interface (SPI) for the `KeyGenerator` class. All the abstract methods in this class must be implemented by each cryptographic service provider who wishes to supply the implementation of a key generator for a particular algorithm.

Since:
  1.4
See Also:
  `SecretKey`

Constructor Summary
`KeyGeneratorSpi()`

Method Summary
`protected abstract SecretKey` | `engineGenerateKey()` Generates a secret key.
`protected abstract void` | `engineInit(AlgorithmParameterSpec params, SecureRandom random)` Initializes the key generator with the specified parameter set and a user-provided source of randomness.
`protected abstract void` | `engineInit(int keysize, SecureRandom random)` Initializes this key generator for a certain keysize, using the given source of randomness.
`protected abstract void` | `engineInit(SecureRandom random)` Initializes the key generator.

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Constructor Detail

### KeyGeneratorSpi

    public KeyGeneratorSpi()

Method Detail

### engineInit

    protected abstract void engineInit(SecureRandom random)

  Initializes the key generator.

  Parameters:
    `random` - the source of randomness for this generator

### engineInit

    protected abstract void engineInit(AlgorithmParameterSpec params,
                                       SecureRandom random)
                                throws InvalidAlgorithmParameterException

  Initializes the key generator with the specified parameter set and a user-provided source of randomness.

  Parameters:
    `params` - the key generation parameters
    `random` - the source of randomness for this key generator
  Throws:
    `InvalidAlgorithmParameterException` - if `params` is inappropriate for this key generator

### engineInit

    protected abstract void engineInit(int keysize,
                                       SecureRandom random)

  Initializes this key generator for a certain keysize, using the given source of randomness.

  Parameters:
    `keysize` - the keysize. This is an algorithm-specific metric, specified in number of bits.
    `random` - the source of randomness for this key generator
  Throws:
    `InvalidParameterException` - if the keysize is wrong or not supported.

### engineGenerateKey

    protected abstract SecretKey engineGenerateKey()

  Generates a secret key.

  Returns:
    the new key

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
| JavaTM 2 Platform Std. Ed. v1.4.0
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Submit a bug or feature
For further API reference and developer documentation, see Java 2 SDK SE Developer Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.

Java, Java 2D, and JDBC are trademarks or registered trademarks of Sun Microsystems, Inc. in the US and other countries.
Copyright 1993-2002 Sun Microsystems, Inc. 901 San Antonio Road
Palo Alto, California, 94303, U.S.A. All Rights Reserved.